Improved Register Usage for Functional Programs through Multiple Function Versions

نویسندگان

  • Manoranjan Satpathy
  • Amitabha Sanyal
  • G. Venkatesh
چکیده

To use registers effectively, functional programs rely on interprocedural register allocation. Existing interprocedural strategies adopt a naive approach in the presence of recursion, and spill registers whenever necessary. Moreover, such recursion-induced spills cannot be avoided, even by increasing the supply of registers. In this paper, we describe a strategy that reduces memory spills due to recursion by keeping multiple versions of the same function. Each version gets a different register assignment and has different spilling characteristics. Such a strategy shows better spilling behavior as compared to the original (single version) program, but the extent of gain is largely dependent on the control paths followed by the program during execution. We first determine the number of versions of each function, so that regardless of the execution path, the program with multiple function versions is guaranteed to perform better than the original program. Since some of these versions may be useless in the sense that they may never be called during any course of execution, we also have the problem of determining the number of meaningful versions. We solve this problem by casting it in terms of voltage graphs. We then show that by using properties of voltage graphs, we can reduce the number of versions even further without adding to the number of spills.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Multiple utility constrained multi-objective programs using Bayesian theory

A utility function is an important tool for representing a DM’s preference. We adjoin utility functions to multi-objective optimization problems. In current studies, usually one utility function is used for each objective function. Situations may arise for a goal to have multiple utility functions. Here, we consider a constrained multi-objective problem with each objective having multiple utili...

متن کامل

Minimizing Memory Access By Improving Register Usage Through High-level Transformations

Multimedia signal processing software typically have to process large amounts of data. The algorithms often involve the handling of data arrays in the form of nested loops. Experiments show that for this kind of applications data transfer (memory access) operations consume much more power than data-path operations. Our objective is to reduce memory access related power consumption by reducing t...

متن کامل

Optimized Register Usage for Dynamic Instrumentation

Dynamic instrumentation of programs presents an interesting problem for register usage. Since program functionality can be changed at any given instruction in the program, it is imperative that register state is the same before and after the instrumentation code. The trivial solution is to spill all registers before instrumentation code is generated. This paper discusses more efficient methods ...

متن کامل

A Comparative Analysis of Lexical Bundles in Journalistic Writing in English and Persian: A Contrastive Linguistic Perspective

  This paper investigates the use of ‘lexical bundles’ in two broad corpora of journalistic writing. The aim of this study is to compare the use of lexical bundles in the two domains, one consisted of newspaper articles written in English and published in England and the other one comprised of newspaper articles written in Persian from Iranian publications. For this purpose, the frequency...

متن کامل

A Comparative Analysis of Lexical Bundles in Journalistic Writing in English and Persian: A Contrastive Linguistic Perspective

  This paper investigates the use of ‘lexical bundles’ in two broad corpora of journalistic writing. The aim of this study is to compare the use of lexical bundles in the two domains, one consisted of newspaper articles written in English and published in England and the other one comprised of newspaper articles written in Persian from Iranian publications. For this purpose, the frequency...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Journal of Functional and Logic Programming

دوره 1998  شماره 

صفحات  -

تاریخ انتشار 1998